﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using ReporteReservaWCF.Dominio;
using System.Data.SqlClient;

namespace ReporteReservaWCF
{
   
    public class ReporteWCF : IReporteWCF
    {
        private BDReservaEntities DB = new BDReservaEntities();
        public List<clsReporte> listaReporte()
        {
           
                List<VW_Reporte1> rptReservas = new List<VW_Reporte1>();

                
                    rptReservas = (from u in DB.VW_Reporte1
                                   select u).ToList();
               
                
                List<clsReporte> listaReporte = new List<clsReporte>();

                foreach (var u in rptReservas)
                {

                    clsReporte cls = new clsReporte();
                    cls.RESERVA_ID = u.RESERVA_ID;
                    cls.VUELO_MONTO_PAGO = u.VUELO_MONTO_PAGO;
                    cls.RESERVA_FECHA = u.RESERVA_FECHA;
                    cls.RESERVA_COMENTARIOS = u.RESERVA_COMENTARIOS;
                    cls.FEC_SALIDA = u.FEC_SALIDA;
                    cls.FEC_REGRESO = u.FEC_REGRESO;
                    cls.ESTADO_NOM = u.ESTADO_NOM;
                    listaReporte.Add(cls);
                }
                return listaReporte;
           
            



          
      }


        public DetalleReporte ObtenerDetalle(int codigo)
        {
            DetalleReporte LDet = new DetalleReporte();

            int codigoreserva = 0;

           var ndetalle = (from u in DB.TB_RESERVA_VUELO 
                           where u.RESERVA_ID == codigo 
                           select u);

           foreach (var resultado in ndetalle)
           {
               LDet.RESERVA_ID = resultado.RESERVA_ID;
               codigoreserva = resultado.RESERVA_ESTADO;
               LDet.RESERVA_FECHA = resultado.RESERVA_FECHA;
               LDet.RESERVA_COMENTARIOS = resultado.RESERVA_COMENTARIOS;
               LDet.CIU_ID_ORIGEN = resultado.CIU_ID_ORIGEN;
               LDet.CIU_ID_DESTINO = resultado.CIU_ID_DESTINO;
               LDet.FEC_SALIDA = resultado.FEC_SALIDA;
               LDet.FEC_REGRESO = resultado.FEC_REGRESO;
                 LDet.VUELO_MONTO_PAGO = resultado.VUELO_MONTO_PAGO;

           }


           var ndetalleTipoestado = (from u in DB.TB_ESTADO_RESERVA
                                     where u.ESTADO_ID == codigoreserva
                                    select u );
           foreach (var resultadoA in ndetalleTipoestado)
           {
               LDet.ESTADO_NOM = resultadoA.ESTADO_NOM;
           }
          

           var ndetalleCiudadI = (from u in DB.TB_CIUDAD
                                  where u.CIU_ID == LDet.CIU_ID_ORIGEN
                                     select u);

           foreach (var resultadoB in ndetalleCiudadI)
           {
               LDet.CIU_ID_ORIGEN = resultadoB.CIU_NOM;
           }

           var ndetalleCiudadD = (from u in DB.TB_CIUDAD
                                  where u.CIU_ID == LDet.CIU_ID_DESTINO 
                                  select u);

           foreach (var resultadoC in ndetalleCiudadD)
           {
               LDet.CIU_ID_DESTINO = resultadoC.CIU_NOM;
           }


           return LDet;

        }
    }
}
